<!DOCTYPE html>
<html lang="en">
  <head>
    <title>ImageCache Class Reference</title>
    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
    <meta charset="utf-8">
    <script src="../js/jquery.min.js" defer></script>
    <script src="../js/jazzy.js" defer></script>
    
    <script src="../js/lunr.min.js" defer></script>
    <script src="../js/typeahead.jquery.js" defer></script>
    <script src="../js/jazzy.search.js" defer></script>
  </head>
  <body>

    <a name="//apple_ref/swift/Class/ImageCache" class="dashAnchor"></a>

    <a title="ImageCache Class Reference"></a>

    <header class="header">
      <p class="header-col header-col--primary">
        <a class="header-link" href="../index.html">
          Kingfisher 5.12.0 Docs
        </a>
         (83% documented)
      </p>
    
      <p class="header-col--secondary">
        <form role="search" action="../search.json">
          <input type="text" placeholder="Search documentation" data-typeahead>
        </form>
      </p>
    
        <p class="header-col header-col--secondary">
          <a class="header-link" href="https://github.com/onevcat/Kingfisher">
            <img class="header-icon" src="../img/gh.png"/>
            View on GitHub
          </a>
        </p>
    
        <p class="header-col header-col--secondary">
          <a class="header-link" href="dash-feed://http%3A%2F%2Fonevcat%2Egithub%2Eio%2FKingfisher%2Fdocsets%2FKingfisher%2Exml">
            <img class="header-icon" src="../img/dash.png"/>
            Install in Dash
          </a>
        </p>
    </header>

    <p class="breadcrumbs">
      <a class="breadcrumb" href="../index.html">Kingfisher Reference</a>
      <img class="carat" src="../img/carat.png" />
      ImageCache Class Reference
    </p>

    <div class="content-wrapper">
      <nav class="navigation">
        <ul class="nav-groups">
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Classes.html">Classes</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/AnimatedImageView.html">AnimatedImageView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/AnimatedImageView/RepeatCount.html">– RepeatCount</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/ImageCache.html">ImageCache</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/ImageDownloader.html">ImageDownloader</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/ImagePrefetcher.html">ImagePrefetcher</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/KingfisherManager.html">KingfisherManager</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/RetrieveImageTask.html">RetrieveImageTask</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Classes/SessionDataTask.html">SessionDataTask</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Global%20Variables.html">Global Variables</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Global%20Variables.html#/s:10Kingfisher0A23DiskCacheCleanedHashKeySSvp">KingfisherDiskCacheCleanedHashKey</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Global%20Variables.html#/s:10Kingfisher0A11ErrorDomainSSvp">KingfisherErrorDomain</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/CacheType.html">CacheType</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/CallbackQueue.html">CallbackQueue</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ContentMode.html">ContentMode</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/DiskStorage.html">DiskStorage</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/DiskStorage/Backend.html">– Backend</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/DiskStorage/Config.html">– Config</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ExpirationExtending.html">ExpirationExtending</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageCacheResult.html">ImageCacheResult</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageFormat.html">ImageFormat</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageFormat/JPEGMarker.html">– JPEGMarker</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageProcessItem.html">ImageProcessItem</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageTransition.html">ImageTransition</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/ImageTransition.html">ImageTransition</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/IndicatorSizeStrategy.html">IndicatorSizeStrategy</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/IndicatorType.html">IndicatorType</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError.html">KingfisherError</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError/RequestErrorReason.html">– RequestErrorReason</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError/ResponseErrorReason.html">– ResponseErrorReason</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError/CacheErrorReason.html">– CacheErrorReason</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError/ProcessorErrorReason.html">– ProcessorErrorReason</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherError/ImageSettingErrorReason.html">– ImageSettingErrorReason</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/KingfisherOptionsInfoItem.html">KingfisherOptionsInfoItem</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/MemoryStorage.html">MemoryStorage</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/MemoryStorage/Backend.html">– Backend</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/MemoryStorage/Config.html">– Config</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/Result.html">Result</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/Source.html">Source</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/Source/Identifier.html">– Identifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Enums/StorageExpiration.html">StorageExpiration</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/c:@S@CGSize">CGSize</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/Collection.html">Collection</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/Data.html">Data</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/s:10Kingfisher21KFCrossPlatformButtona">KFCrossPlatformButton</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/KFCrossPlatformImage.html">KFCrossPlatformImage</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/s:10Kingfisher24KFCrossPlatformImageViewa">KFCrossPlatformImageView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/KingfisherWrapper.html">KingfisherWrapper</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/Notification.html">Notification</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/Notification/Name.html">– Name</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/s:SS">String</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)UIApplication">UIApplication</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Extensions.html#/WKInterfaceImage">WKInterfaceImage</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Functions.html">Functions</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Functions.html#/s:10Kingfisher2ggoiyAA14ImageProcessor_pAaC_p_AaC_ptF">&gt;&gt;(_:_:)</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Functions.html#/s:10Kingfisher2ogoiyAA14ImageProcessor_pAaC_p_AaC_ptF">|&gt;(_:_:)</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/AnimatedImageViewDelegate.html">AnimatedImageViewDelegate</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/AuthenticationChallengeResponsable.html">AuthenticationChallengeResponsable</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/CIImageProcessor.html">CIImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/CacheCostCalculable.html">CacheCostCalculable</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/CacheSerializer.html">CacheSerializer</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/DataTransformable.html">DataTransformable</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageDataProvider.html">ImageDataProvider</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageDownloadRedirectHandler.html">ImageDownloadRedirectHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageDownloadRequestModifier.html">ImageDownloadRequestModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageDownloaderDelegate.html">ImageDownloaderDelegate</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageModifier.html">ImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/ImageProcessor.html">ImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/Indicator.html">Indicator</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/KingfisherCompatible.html">KingfisherCompatible</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/KingfisherCompatibleValue.html">KingfisherCompatibleValue</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/Placeholder.html">Placeholder</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Protocols/Resource.html">Resource</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Structs.html">Structures</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/AlignmentRectInsetsImageModifier.html">AlignmentRectInsetsImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/AnyImageModifier.html">AnyImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/AnyModifier.html">AnyModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/AnyRedirectHandler.html">AnyRedirectHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/Base64ImageDataProvider.html">Base64ImageDataProvider</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/BlackWhiteProcessor.html">BlackWhiteProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/BlendImageProcessor.html">BlendImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/BlurImageProcessor.html">BlurImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/CacheStoreResult.html">CacheStoreResult</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ColorControlsProcessor.html">ColorControlsProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/CompositingImageProcessor.html">CompositingImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/CroppingImageProcessor.html">CroppingImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/DefaultCacheSerializer.html">DefaultCacheSerializer</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/DefaultImageModifier.html">DefaultImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/DefaultImageProcessor.html">DefaultImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/DownloadTask.html">DownloadTask</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/DownsamplingImageProcessor.html">DownsamplingImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/Filter.html">Filter</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/FlipsForRightToLeftLayoutDirectionImageModifier.html">FlipsForRightToLeftLayoutDirectionImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/FormatIndicatedCacheSerializer.html">FormatIndicatedCacheSerializer</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ImageCreatingOptions.html">ImageCreatingOptions</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ImageLoadingResult.html">ImageLoadingResult</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ImageProgressive.html">ImageProgressive</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ImageResource.html">ImageResource</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/KingfisherParsedOptionsInfo.html">KingfisherParsedOptionsInfo</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/KingfisherWrapper.html">KingfisherWrapper</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/LocalFileImageDataProvider.html">LocalFileImageDataProvider</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/OverlayImageProcessor.html">OverlayImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/PropagationError.html">PropagationError</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/RawImageDataProvider.html">RawImageDataProvider</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/RectCorner.html">RectCorner</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/RenderingModeImageModifier.html">RenderingModeImageModifier</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/ResizingImageProcessor.html">ResizingImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs.html#/s:10Kingfisher25RetrieveImageDownloadTaskV">RetrieveImageDownloadTask</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/RetrieveImageResult.html">RetrieveImageResult</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/RoundCornerImageProcessor.html">RoundCornerImageProcessor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Structs/TintImageProcessor.html">TintImageProcessor</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher6Buttona">Button</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher5Colora">Color</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher17CompletionHandlera">CompletionHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher21DownloadProgressBlocka">DownloadProgressBlock</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher24DownloadTaskUpdatedBlocka">DownloadTaskUpdatedBlock</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher5Imagea">Image</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher32ImageDownloaderCompletionHandlera">ImageDownloaderCompletionHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher28ImageDownloaderProgressBlocka">ImageDownloaderProgressBlock</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher9ImageViewa">ImageView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/IndicatorView">IndicatorView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher13IndicatorViewa">IndicatorView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/KFCrossPlatformButton">KFCrossPlatformButton</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher21KFCrossPlatformButtona">KFCrossPlatformButton</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/KFCrossPlatformColor">KFCrossPlatformColor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformColora">KFCrossPlatformColor</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/KFCrossPlatformImage">KFCrossPlatformImage</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/KFCrossPlatformImageView">KFCrossPlatformImageView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher24KFCrossPlatformImageViewa">KFCrossPlatformImageView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/KFCrossPlatformView">KFCrossPlatformView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher19KFCrossPlatformViewa">KFCrossPlatformView</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher27PrefetcherCompletionHandlera">PrefetcherCompletionHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher23PrefetcherProgressBlocka">PrefetcherProgressBlock</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher33PrefetcherSourceCompletionHandlera">PrefetcherSourceCompletionHandler</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher29PrefetcherSourceProgressBlocka">PrefetcherSourceProgressBlock</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher11Transformera">Transformer</a>
              </li>
              <li class="nav-group-task">
                <a class="nav-group-task-link" href="../Typealiases.html#/s:10Kingfisher4Viewa">View</a>
              </li>
            </ul>
          </li>
        </ul>
      </nav>
      <article class="main-content">

        <section class="section">
          <div class="section-content top-matter">
            <h1>ImageCache</h1>
              <div class="declaration">
                <div class="language">
                  <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">class</span> <span class="kt">ImageCache</span></code></pre>

                </div>
              </div>
            <p>Represents a hybrid caching system which is composed by a <code><a href="../Enums/MemoryStorage/Backend.html">MemoryStorage.Backend</a></code> and a <code><a href="../Enums/DiskStorage/Backend.html">DiskStorage.Backend</a></code>.
<code>ImageCache</code> is a high level abstract for storing an image as well as its data to disk memory and disk, and
retrieving them back.</p>

<p>While a default image cache object will be used if you prefer the extension methods of Kingfisher, you can create
your own cache object and configure its storages as your need. This class also provide an interface for you to set
the memory and disk storage config.</p>

          </div>
        </section>

        <section class="section">
          <div class="section-content">
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Singleton"></a>
                <a name="//apple_ref/swift/Section/Singleton" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Singleton"></a>
                  <h3 class="section-name"><p>Singleton</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC7defaultACvpZ"></a>
                    <a name="//apple_ref/swift/Variable/default" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC7defaultACvpZ">default</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The default <code>ImageCache</code> object. Kingfisher will use this cache for its related methods if there is no
other cache specified. The <code>name</code> of this default cache is &ldquo;default&rdquo;, and you should not use this name
for any of your customize cache.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">let</span> <span class="err">`</span><span class="k">default</span><span class="err">`</span><span class="p">:</span> <span class="kt">ImageCache</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L148">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Public%20Properties"></a>
                <a name="//apple_ref/swift/Section/Public Properties" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Public%20Properties"></a>
                  <h3 class="section-name"><p>Public Properties</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC13memoryStorageAA06MemoryE0O7BackendCy_So7UIImageCGvp"></a>
                    <a name="//apple_ref/swift/Property/memoryStorage" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC13memoryStorageAA06MemoryE0O7BackendCy_So7UIImageCGvp">memoryStorage</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The <code><a href="../Enums/MemoryStorage/Backend.html">MemoryStorage.Backend</a></code> object used in this cache. This storage holds loaded images in memory with a
reasonable expire duration and a maximum memory usage. To modify the configuration of a storage, just set
the storage <code>config</code> and its properties.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">memoryStorage</span><span class="p">:</span> <span class="kt"><a href="../Enums/MemoryStorage.html">MemoryStorage</a></span><span class="o">.</span><span class="kt">Backend</span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="o">&gt;</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L154">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC11diskStorageAA04DiskE0O7BackendCy_10Foundation4DataVGvp"></a>
                    <a name="//apple_ref/swift/Property/diskStorage" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC11diskStorageAA04DiskE0O7BackendCy_10Foundation4DataVGvp">diskStorage</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The <code><a href="../Enums/DiskStorage/Backend.html">DiskStorage.Backend</a></code> object used in this cache. This storage stores loaded images in disk with a
reasonable expire duration and a maximum disk usage. To modify the configuration of a storage, just set
the storage <code>config</code> and its properties.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">diskStorage</span><span class="p">:</span> <span class="kt"><a href="../Enums/DiskStorage.html">DiskStorage</a></span><span class="o">.</span><span class="kt">Backend</span><span class="o">&lt;</span><span class="kt">Data</span><span class="o">&gt;</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L159">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC04DiskC11PathClosurea"></a>
                    <a name="//apple_ref/swift/Alias/DiskCachePathClosure" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC04DiskC11PathClosurea">DiskCachePathClosure</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Closure that defines the disk cache path from a given path and cacheName.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">DiskCachePathClosure</span> <span class="o">=</span> <span class="p">(</span><span class="kt">URL</span><span class="p">,</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">URL</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L164">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Initializers"></a>
                <a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Initializers"></a>
                  <h3 class="section-name"><p>Initializers</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC13memoryStorage04diskE0AcA06MemoryE0O7BackendCy_So7UIImageCG_AA04DiskE0OAHCy_10Foundation4DataVGtcfc"></a>
                    <a name="//apple_ref/swift/Method/init(memoryStorage:diskStorage:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC13memoryStorage04diskE0AcA06MemoryE0O7BackendCy_So7UIImageCG_AA04DiskE0OAHCy_10Foundation4DataVGtcfc">init(memoryStorage:diskStorage:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Creates an <code>ImageCache</code> from a customized <code><a href="../Enums/MemoryStorage.html">MemoryStorage</a></code> and <code><a href="../Enums/DiskStorage.html">DiskStorage</a></code>.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span>
    <span class="nv">memoryStorage</span><span class="p">:</span> <span class="kt"><a href="../Enums/MemoryStorage.html">MemoryStorage</a></span><span class="o">.</span><span class="kt">Backend</span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="o">&gt;</span><span class="p">,</span>
    <span class="nv">diskStorage</span><span class="p">:</span> <span class="kt"><a href="../Enums/DiskStorage.html">DiskStorage</a></span><span class="o">.</span><span class="kt">Backend</span><span class="o">&lt;</span><span class="kt">Data</span><span class="o">&gt;</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>memoryStorage</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Enums/MemoryStorage/Backend.html">MemoryStorage.Backend</a></code> object to use in the image cache.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>diskStorage</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Enums/DiskStorage/Backend.html">DiskStorage.Backend</a></code> object to use in the image cache.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L173-L207">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC4nameACSS_tcfc"></a>
                    <a name="//apple_ref/swift/Method/init(name:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC4nameACSS_tcfc">init(name:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Creates an <code>ImageCache</code> with a given <code>name</code>. Both <code><a href="../Enums/MemoryStorage.html">MemoryStorage</a></code> and <code><a href="../Enums/DiskStorage.html">DiskStorage</a></code> will be created
with a default config based on the <code>name</code>.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>name</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The name of cache object. It is used to setup disk cache directories and IO queue.
              You should not use the same <code>name</code> for different caches, otherwise, the disk storage would
              be conflicting to each other. The <code>name</code> should not be an empty string.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L215-L217">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC4name17cacheDirectoryURL04diskC11PathClosureACSS_10Foundation0G0VSgA2I_SStcSgtKcfc"></a>
                    <a name="//apple_ref/swift/Method/init(name:cacheDirectoryURL:diskCachePathClosure:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC4name17cacheDirectoryURL04diskC11PathClosureACSS_10Foundation0G0VSgA2I_SStcSgtKcfc">init(name:cacheDirectoryURL:diskCachePathClosure:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Creates an <code>ImageCache</code> with a given <code>name</code>, cache directory <code>path</code>
and a closure to modify the cache directory.</p>
<div class="aside aside-throws">
    <p class="aside-title">Throws</p>
    An error that happens during image cache creating, such as unable to create a directory at the given
      path.

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span>
    <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="nv">cacheDirectoryURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">?,</span>
    <span class="nv">diskCachePathClosure</span><span class="p">:</span> <span class="kt"><a href="../Classes/ImageCache.html#/s:10Kingfisher10ImageCacheC04DiskC11PathClosurea">DiskCachePathClosure</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span> <span class="k">throws</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>name</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The name of cache object. It is used to setup disk cache directories and IO queue.
  You should not use the same <code>name</code> for different caches, otherwise, the disk storage would
  be conflicting to each other.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>cacheDirectoryURL</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Location of cache directory URL on disk. It will be internally pass to the
               initializer of <code><a href="../Enums/DiskStorage.html">DiskStorage</a></code> as the disk cache directory. If <code>nil</code>, the cache
               directory under user domain mask will be used.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>diskCachePathClosure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Closure that takes in an optional initial path string and generates
                  the final disk cache path. You could use it to fully customize your cache path.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L233-L259">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Storing%20Images"></a>
                <a name="//apple_ref/swift/Section/Storing Images" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Storing%20Images"></a>
                  <h3 class="section-name"><p>Storing Images</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC5store_8original6forKey7options6toDisk17completionHandlerySo7UIImageC_10Foundation4DataVSgSSAA0A17ParsedOptionsInfoVSbyAA0C11StoreResultVcSgtF"></a>
                    <a name="//apple_ref/swift/Method/store(_:original:forKey:options:toDisk:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC5store_8original6forKey7options6toDisk17completionHandlerySo7UIImageC_10Foundation4DataVSgSSAA0A17ParsedOptionsInfoVSbyAA0C11StoreResultVcSgtF">store(_:original:forKey:options:toDisk:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">store</span><span class="p">(</span><span class="n">_</span> <span class="nv">image</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">,</span>
                <span class="nv">original</span><span class="p">:</span> <span class="kt">Data</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
                <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Structs/KingfisherParsedOptionsInfo.html">KingfisherParsedOptionsInfo</a></span><span class="p">,</span>
                <span class="nv">toDisk</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
                <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Structs/CacheStoreResult.html">CacheStoreResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L267-L310">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC5store_8original6forKey19processorIdentifier15cacheSerializer6toDisk13callbackQueue17completionHandlerySo7UIImageC_10Foundation4DataVSgS2SAA0cK0_pSbAA08CallbackO0OyAA0C11StoreResultVcSgtF"></a>
                    <a name="//apple_ref/swift/Method/store(_:original:forKey:processorIdentifier:cacheSerializer:toDisk:callbackQueue:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC5store_8original6forKey19processorIdentifier15cacheSerializer6toDisk13callbackQueue17completionHandlerySo7UIImageC_10Foundation4DataVSgS2SAA0cK0_pSbAA08CallbackO0OyAA0C11StoreResultVcSgtF">store(_:original:forKey:processorIdentifier:cacheSerializer:toDisk:callbackQueue:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Stores an image to the cache.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">store</span><span class="p">(</span><span class="n">_</span> <span class="nv">image</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">,</span>
                  <span class="nv">original</span><span class="p">:</span> <span class="kt">Data</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
                  <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                  <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">""</span><span class="p">,</span>
                  <span class="n">cacheSerializer</span> <span class="nv">serializer</span><span class="p">:</span> <span class="kt"><a href="../Protocols/CacheSerializer.html">CacheSerializer</a></span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultCacheSerializer.html">DefaultCacheSerializer</a></span><span class="o">.</span><span class="k">default</span><span class="p">,</span>
                  <span class="nv">toDisk</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
                  <span class="nv">callbackQueue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CallbackQueue.html">CallbackQueue</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">untouch</span><span class="p">,</span>
                  <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Structs/CacheStoreResult.html">CacheStoreResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>image</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The image to be stored.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>original</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The original data of the image. This value will be forwarded to the provided <code>serializer</code> for
      further use. By default, Kingfisher uses a <code><a href="../Structs/DefaultCacheSerializer.html">DefaultCacheSerializer</a></code> to serialize the image to
      data for caching in disk, it checks the image format based on <code>original</code> data to determine in
      which image format should be used. For other types of <code>serializer</code>, it depends on their
      implementation detail on how to use this original data.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The identifier of processor being used for caching. If you are using a processor for the
        image, pass the identifier of processor to this parameter.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>serializer</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Protocols/CacheSerializer.html">CacheSerializer</a></code></p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>toDisk</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Whether this image should be cached to disk or not. If <code>false</code>, the image is only cached in memory.
    Otherwise, it is cached in both memory storage and disk storage. Default is <code>true</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>callbackQueue</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The callback queue on which <code>completionHandler</code> is invoked. Default is <code>.untouch</code>. For case
           that <code>toDisk</code> is <code>false</code>, a <code>.untouch</code> queue means <code>callbackQueue</code> will be invoked from the
           caller queue of this method. If <code>toDisk</code> is <code>true</code>, the <code>completionHandler</code> will be called
           from an internal file IO queue. To change this behavior, specify another <code><a href="../Enums/CallbackQueue.html">CallbackQueue</a></code>
           value.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>completionHandler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the cache operation finishes.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L333-L356">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC11storeToDisk_6forKey19processorIdentifier10expiration13callbackQueue17completionHandlery10Foundation4DataV_S2SAA17StorageExpirationOSgAA08CallbackM0OyAA0C11StoreResultVcSgtF"></a>
                    <a name="//apple_ref/swift/Method/storeToDisk(_:forKey:processorIdentifier:expiration:callbackQueue:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC11storeToDisk_6forKey19processorIdentifier10expiration13callbackQueue17completionHandlery10Foundation4DataV_S2SAA17StorageExpirationOSgAA08CallbackM0OyAA0C11StoreResultVcSgtF">storeToDisk(_:forKey:processorIdentifier:expiration:callbackQueue:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">storeToDisk</span><span class="p">(</span>
    <span class="n">_</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">,</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">""</span><span class="p">,</span>
    <span class="nv">expiration</span><span class="p">:</span> <span class="kt"><a href="../Enums/StorageExpiration.html">StorageExpiration</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
    <span class="nv">callbackQueue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CallbackQueue.html">CallbackQueue</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">untouch</span><span class="p">,</span>
    <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Structs/CacheStoreResult.html">CacheStoreResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L358-L375">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Removing%20Images"></a>
                <a name="//apple_ref/swift/Section/Removing Images" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Removing%20Images"></a>
                  <h3 class="section-name"><p>Removing Images</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC06removeB06forKey19processorIdentifier10fromMemory0I4Disk13callbackQueue17completionHandlerySS_SSS2bAA08CallbackM0OyycSgtF"></a>
                    <a name="//apple_ref/swift/Method/removeImage(forKey:processorIdentifier:fromMemory:fromDisk:callbackQueue:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC06removeB06forKey19processorIdentifier10fromMemory0I4Disk13callbackQueue17completionHandlerySS_SSS2bAA08CallbackM0OyycSgtF">removeImage(forKey:processorIdentifier:fromMemory:fromDisk:callbackQueue:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Removes the image for the given key from the cache.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">removeImage</span><span class="p">(</span><span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                      <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">""</span><span class="p">,</span>
                      <span class="nv">fromMemory</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
                      <span class="nv">fromDisk</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
                      <span class="nv">callbackQueue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CallbackQueue.html">CallbackQueue</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">untouch</span><span class="p">,</span>
                      <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The identifier of processor being used for caching. If you are using a processor for the
        image, pass the identifier of processor to this parameter.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>fromMemory</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Whether this image should be removed from memory storage or not.
        If <code>false</code>, the image won&rsquo;t be removed from the memory storage. Default is <code>true</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>fromDisk</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Whether this image should be removed from disk storage or not.
      If <code>false</code>, the image won&rsquo;t be removed from the disk storage. Default is <code>true</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>callbackQueue</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The callback queue on which <code>completionHandler</code> is invoked. Default is <code>.untouch</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>completionHandler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the cache removing operation finishes.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L422-L447">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Getting%20Images"></a>
                <a name="//apple_ref/swift/Section/Getting Images" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Getting%20Images"></a>
                  <h3 class="section-name"><p>Getting Images</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC08retrieveB06forKey7options13callbackQueue17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgAA08CallbackI0OyAA6ResultOyAA0bcP0OAA0A5ErrorOGcSgtF"></a>
                    <a name="//apple_ref/swift/Method/retrieveImage(forKey:options:callbackQueue:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC08retrieveB06forKey7options13callbackQueue17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgAA08CallbackI0OyAA6ResultOyAA0bcP0OAA0A5ErrorOGcSgtF">retrieveImage(forKey:options:callbackQueue:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Gets an image for a given key from the cache, either from memory storage or disk storage.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">retrieveImage</span><span class="p">(</span><span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                           <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
                    <span class="nv">callbackQueue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CallbackQueue.html">CallbackQueue</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">mainCurrentOrAsync</span><span class="p">,</span>
                 <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Enums/Result.html">Result</a></span><span class="o">&lt;</span><span class="kt"><a href="../Enums/ImageCacheResult.html">ImageCacheResult</a></span><span class="p">,</span> <span class="kt"><a href="../Enums/KingfisherError.html">KingfisherError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>options</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></code> options setting used for retrieving the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>callbackQueue</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The callback queue on which <code>completionHandler</code> is invoked. Default is <code>.mainCurrentOrAsync</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>completionHandler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the image getting operation finishes. If the
               image retrieving operation finishes without problem, an <code><a href="../Enums/ImageCacheResult.html">ImageCacheResult</a></code> value
               will be sent to this closure as result. Otherwise, a <code><a href="../Enums/KingfisherError.html">KingfisherError</a></code> result
               with detail failing reason will be sent.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L511-L521">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC08retrieveb8InMemoryC06forKey7optionsSo7UIImageCSgSS_SayAA0A15OptionsInfoItemOGSgtF"></a>
                    <a name="//apple_ref/swift/Method/retrieveImageInMemoryCache(forKey:options:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC08retrieveb8InMemoryC06forKey7optionsSo7UIImageCSgSS_SayAA0A15OptionsInfoItemOGSgtF">retrieveImageInMemoryCache(forKey:options:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Gets an image for a given key from the memory storage.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">retrieveImageInMemoryCache</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">?</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>options</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></code> options setting used for retrieving the image.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>The image stored in memory cache, if exists and valid. Otherwise, if the image does not exist or
       has already expired, <code>nil</code> is returned.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L538-L543">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC08retrieveb6InDiskC06forKey7options13callbackQueue17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgAA08CallbackK0OyAA6ResultOySo7UIImageCSgAA0A5ErrorOGctF"></a>
                    <a name="//apple_ref/swift/Method/retrieveImageInDiskCache(forKey:options:callbackQueue:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC08retrieveb6InDiskC06forKey7options13callbackQueue17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgAA08CallbackK0OyAA6ResultOySo7UIImageCSgAA0A5ErrorOGctF">retrieveImageInDiskCache(forKey:options:callbackQueue:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Gets an image for a given key from the disk storage.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">retrieveImageInDiskCache</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
    <span class="nv">callbackQueue</span><span class="p">:</span> <span class="kt"><a href="../Enums/CallbackQueue.html">CallbackQueue</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">untouch</span><span class="p">,</span>
    <span class="nv">completionHandler</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt"><a href="../Enums/Result.html">Result</a></span><span class="o">&lt;</span><span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/KingfisherError.html">KingfisherError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>options</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The <code><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></code> options setting used for retrieving the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>callbackQueue</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The callback queue on which <code>completionHandler</code> is invoked. Default is <code>.untouch</code>.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>completionHandler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the operation finishes.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L577-L588">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Cleaning"></a>
                <a name="//apple_ref/swift/Section/Cleaning" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Cleaning"></a>
                  <h3 class="section-name"><p>Cleaning</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC011clearMemoryC0yyF"></a>
                    <a name="//apple_ref/swift/Method/clearMemoryCache()" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC011clearMemoryC0yyF">clearMemoryCache()</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Clears the memory storage of this cache.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">clearMemoryCache</span><span class="p">()</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L592-L594">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC09clearDiskC010completionyyycSg_tF"></a>
                    <a name="//apple_ref/swift/Method/clearDiskCache(completion:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC09clearDiskC010completionyyycSg_tF">clearDiskCache(completion:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Clears the disk storage of this cache. This is an async operation.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">clearDiskCache</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">())?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>handler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the cache clearing operation finishes.
                 This <code>handler</code> will be called from the main queue.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L600-L609">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC018cleanExpiredMemoryC0yyF"></a>
                    <a name="//apple_ref/swift/Method/cleanExpiredMemoryCache()" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC018cleanExpiredMemoryC0yyF">cleanExpiredMemoryCache()</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Clears the expired images from disk storage. This is an async operation.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">cleanExpiredMemoryCache</span><span class="p">()</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L612-L614">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC016cleanExpiredDiskC010completionyyycSg_tF"></a>
                    <a name="//apple_ref/swift/Method/cleanExpiredDiskCache(completion:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC016cleanExpiredDiskC010completionyyycSg_tF">cleanExpiredDiskCache(completion:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Clears the expired images from disk storage. This is an async operation.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">cleanExpiredDiskCache</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>handler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A closure which is invoked when the cache clearing operation finishes.
                 This <code>handler</code> will be called from the main queue.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L625-L650">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC026backgroundCleanExpiredDiskC0yyF"></a>
                    <a name="//apple_ref/swift/Method/backgroundCleanExpiredDiskCache()" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC026backgroundCleanExpiredDiskC0yyF">backgroundCleanExpiredDiskCache()</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Clears the expired images from disk storage when app is in background. This is an async operation.
In most cases, you should not call this method explicitly.
It will be called automatically when <code>UIApplicationDidEnterBackgroundNotification</code> received.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@objc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">backgroundCleanExpiredDiskCache</span><span class="p">()</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L656-L677">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Image%20Cache%20State"></a>
                <a name="//apple_ref/swift/Section/Image Cache State" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Image%20Cache%20State"></a>
                  <h3 class="section-name"><p>Image Cache State</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC15imageCachedType6forKey19processorIdentifierAA0cF0OSS_SStF"></a>
                    <a name="//apple_ref/swift/Method/imageCachedType(forKey:processorIdentifier:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC15imageCachedType6forKey19processorIdentifierAA0cF0OSS_SStF">imageCachedType(forKey:processorIdentifier:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Returns the cache type for a given <code>key</code> and <code>identifier</code> combination.
This method is used for checking whether an image is cached in current cache.
It also provides information on which kind of cache can it be found in the return value.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">imageCachedType</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultImageProcessor.html">DefaultImageProcessor</a></span><span class="o">.</span><span class="k">default</span><span class="o">.</span><span class="n">identifier</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Enums/CacheType.html">CacheType</a></span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Processor identifier which used for this image. Default is the <code>identifier</code> of
        <code><a href="../Structs/DefaultImageProcessor.html#/s:10Kingfisher21DefaultImageProcessorV7defaultACvpZ">DefaultImageProcessor.default</a></code>.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>A <code><a href="../Enums/CacheType.html">CacheType</a></code> instance which indicates the cache status.
       <code>.none</code> means the image is not in cache or it is already expired.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L692-L700">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC8isCached6forKey19processorIdentifierSbSS_SStF"></a>
                    <a name="//apple_ref/swift/Method/isCached(forKey:processorIdentifier:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC8isCached6forKey19processorIdentifierSbSS_SStF">isCached(forKey:processorIdentifier:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Returns whether the file exists in cache for a given <code>key</code> and <code>identifier</code> combination.</p>
<div class="aside aside-note">
    <p class="aside-title">Note</p>
    <p>The return value does not contain information about from which kind of storage the cache matches.
To get the information about cache type according <code><a href="../Enums/CacheType.html">CacheType</a></code>,
use <code><a href="../Classes/ImageCache.html#/s:10Kingfisher10ImageCacheC15imageCachedType6forKey19processorIdentifierAA0cF0OSS_SStF">imageCachedType(forKey:processorIdentifier:)</a></code> instead.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isCached</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultImageProcessor.html">DefaultImageProcessor</a></span><span class="o">.</span><span class="k">default</span><span class="o">.</span><span class="n">identifier</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Processor identifier which used for this image. Default is the <code>identifier</code> of
        <code><a href="../Structs/DefaultImageProcessor.html#/s:10Kingfisher21DefaultImageProcessorV7defaultACvpZ">DefaultImageProcessor.default</a></code>.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>A <code>Bool</code> which indicates whether a cache could match the given <code>key</code> and <code>identifier</code> combination.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L714-L719">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC4hash6forKey19processorIdentifierS2S_SStF"></a>
                    <a name="//apple_ref/swift/Method/hash(forKey:processorIdentifier:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC4hash6forKey19processorIdentifierS2S_SStF">hash(forKey:processorIdentifier:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Gets the hash used as cache file name for the key.</p>
<div class="aside aside-note">
    <p class="aside-title">Note</p>
    <p>By default, for a given combination of <code>key</code> and <code>identifier</code>, <code>ImageCache</code> will use the value
returned by this method as the cache file name. You can use this value to check and match cache file
if you need.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">hash</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultImageProcessor.html">DefaultImageProcessor</a></span><span class="o">.</span><span class="k">default</span><span class="o">.</span><span class="n">identifier</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Processor identifier which used for this image. Default is the <code>identifier</code> of
        <code><a href="../Structs/DefaultImageProcessor.html#/s:10Kingfisher21DefaultImageProcessorV7defaultACvpZ">DefaultImageProcessor.default</a></code>.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>The hash which is used as the cache file name.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L733-L739">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC24calculateDiskStorageSize10completionyyAA6ResultOySuAA0A5ErrorOGc_tF"></a>
                    <a name="//apple_ref/swift/Method/calculateDiskStorageSize(completion:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC24calculateDiskStorageSize10completionyyAA6ResultOySuAA0A5ErrorOGc_tF">calculateDiskStorageSize(completion:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Calculates the size taken by the disk storage.
It is the total file size of all cached files in the <code><a href="../Classes/ImageCache.html#/s:10Kingfisher10ImageCacheC11diskStorageAA04DiskE0O7BackendCy_10Foundation4DataVGvp">diskStorage</a></code> on disk in bytes.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">calculateDiskStorageSize</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">((</span><span class="kt"><a href="../Enums/Result.html">Result</a></span><span class="o">&lt;</span><span class="kt">UInt</span><span class="p">,</span> <span class="kt"><a href="../Enums/KingfisherError.html">KingfisherError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">))</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>handler</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Called with the size calculating finishes. This closure is invoked from the main queue.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L745-L759">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC9cachePath6forKey19processorIdentifierS2S_SStF"></a>
                    <a name="//apple_ref/swift/Method/cachePath(forKey:processorIdentifier:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC9cachePath6forKey19processorIdentifierS2S_SStF">cachePath(forKey:processorIdentifier:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Gets the cache path for the key.
It is useful for projects with web view or anyone that needs access to the local file path.</p>

<p>i.e. Replacing the <code>&lt;img src=&#39;path_for_key&#39;&gt;</code> tag in your HTML.</p>
<div class="aside aside-note">
    <p class="aside-title">Note</p>
    <p>This method does not guarantee there is an image already cached in the returned path. It just gives your
the path that the image should be, if it exists in disk storage.</p>

</div>

<p>You could use <code>isCached(forKey:)</code> method to check whether the image is cached under that key in disk.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">cachePath</span><span class="p">(</span>
    <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultImageProcessor.html">DefaultImageProcessor</a></span><span class="o">.</span><span class="k">default</span><span class="o">.</span><span class="n">identifier</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The key used for caching the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>identifier</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Processor identifier which used for this image. Default is the <code>identifier</code> of
        <code><a href="../Structs/DefaultImageProcessor.html#/s:10Kingfisher21DefaultImageProcessorV7defaultACvpZ">DefaultImageProcessor.default</a></code>.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>The disk path of cached image under the given <code>key</code> and <code>identifier</code>.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L777-L783">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/For%20App%20Extensions"></a>
                <a name="//apple_ref/swift/Section/For App Extensions" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/For%20App%20Extensions"></a>
                  <h3 class="section-name"><p>For App Extensions</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC4name4path04diskC11PathClosureACSS_SSSg10Foundation3URLVAJ_SStcSgtKcfc"></a>
                    <a name="//apple_ref/swift/Method/init(name:path:diskCachePathClosure:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC4name4path04diskC11PathClosureACSS_SSSg10Foundation3URLVAJ_SStcSgtKcfc">init(name:path:diskCachePathClosure:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Creates an <code>ImageCache</code> with a given <code>name</code>, cache directory <code>path</code>
and a closure to modify the cache directory.</p>
<div class="aside aside-throws">
    <p class="aside-title">Throws</p>
    An error that happens during image cache creating, such as unable to create a directory at the given
      path.

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "init(name:cacheDirectoryURL:diskCachePathClosure:﹚", message: "Use `init(name:cacheDirectoryURL:diskCachePathClosure:﹚` instead")</span>
<span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span>
    <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
    <span class="nv">path</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span>
    <span class="nv">diskCachePathClosure</span><span class="p">:</span> <span class="kt"><a href="../Classes/ImageCache.html#/s:10Kingfisher10ImageCacheC04DiskC11PathClosurea">DiskCachePathClosure</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span> <span class="k">throws</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>name</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The name of cache object. It is used to setup disk cache directories and IO queue.
  You should not use the same <code>name</code> for different caches, otherwise, the disk storage would
  be conflicting to each other.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>path</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Location of cache URL on disk. It will be internally pass to the initializer of <code><a href="../Enums/DiskStorage.html">DiskStorage</a></code> as the
  disk cache directory.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>diskCachePathClosure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Closure that takes in an optional initial path string and generates
                  the final disk cache path. You could use it to fully customize your cache path.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/Cache/ImageCache.swift#L831-L838">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
            <div class="task-group">
              <div class="task-name-container">
                <a name="/Deprecated"></a>
                <a name="//apple_ref/swift/Section/Deprecated" class="dashAnchor"></a>
                <div class="section-name-container">
                  <a class="section-name-link" href="#/Deprecated"></a>
                  <h3 class="section-name"><p>Deprecated</p>
</h3>
                </div>
              </div>
              <ul class="item-container">
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC13maxMemoryCostSivp"></a>
                    <a name="//apple_ref/swift/Property/maxMemoryCost" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC13maxMemoryCostSivp">maxMemoryCost</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The largest cache cost of memory cache. The total cost is pixel count of
all cached images in memory.
Default is unlimited. Memory cache will be purged automatically when a
memory warning notification is received.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "memoryStorage.config.totalCostLimit", message: "Use `memoryStorage.config.totalCostLimit` instead.")</span>
<span class="kd">open</span> <span class="k">var</span> <span class="nv">maxMemoryCost</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L316-L319">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC011defaultDiskC11PathClosure4path9cacheNameS2SSg_SStFZ"></a>
                    <a name="//apple_ref/swift/Method/defaultDiskCachePathClosure(path:cacheName:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC011defaultDiskC11PathClosure4path9cacheNameS2SSg_SStFZ">defaultDiskCachePathClosure(path:cacheName:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The default DiskCachePathClosure</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, message: "Not needed anymore.")</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">defaultDiskCachePathClosure</span><span class="p">(</span><span class="nv">path</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span> <span class="nv">cacheName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L323-L326">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC13pathExtensionSSSgvp"></a>
                    <a name="//apple_ref/swift/Property/pathExtension" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC13pathExtensionSSSgvp">pathExtension</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The default file extension appended to cached files.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "diskStorage.config.pathExtension", message: "Use `diskStorage.config.pathExtension` instead.")</span>
<span class="kd">open</span> <span class="k">var</span> <span class="nv">pathExtension</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L331-L334">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC04diskC4PathSSvp"></a>
                    <a name="//apple_ref/swift/Property/diskCachePath" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC04diskC4PathSSvp">diskCachePath</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The disk cache location.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "diskStorage.directoryURL.absoluteString", message: "Use `diskStorage.directoryURL.absoluteString` instead.")</span>
<span class="kd">public</span> <span class="k">var</span> <span class="nv">diskCachePath</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L339-L341">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC07maxDiskC4SizeSuvp"></a>
                    <a name="//apple_ref/swift/Property/maxDiskCacheSize" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC07maxDiskC4SizeSuvp">maxDiskCacheSize</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The largest disk size can be taken for the cache. It is the total
allocated size of cached files in bytes.
Default is no limit.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "diskStorage.config.sizeLimit", message: "Use `diskStorage.config.sizeLimit` instead.")</span>
<span class="kd">open</span> <span class="k">var</span> <span class="nv">maxDiskCacheSize</span><span class="p">:</span> <span class="kt">UInt</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L348-L351">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC9cachePath14forComputedKeyS2S_tF"></a>
                    <a name="//apple_ref/swift/Method/cachePath(forComputedKey:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC9cachePath14forComputedKeyS2S_tF">cachePath(forComputedKey:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">cachePath</span><span class="p">(</span><span class="n">forComputedKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L355-L357">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC08retrieveb6InDiskC06forKey7optionsSo7UIImageCSgSS_SayAA0A15OptionsInfoItemOGSgtF"></a>
                    <a name="//apple_ref/swift/Method/retrieveImageInDiskCache(forKey:options:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC08retrieveb6InDiskC06forKey7optionsSo7UIImageCSgSS_SayAA0A15OptionsInfoItemOGSgtF">retrieveImageInDiskCache(forKey:options:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Get an image for a key from disk.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, renamed: "retrieveImageInDiskCache(forKey:options:callbackQueue:completionHandler:﹚", message: "Use `Result` based `retrieveImageInDiskCache(forKey:options:callbackQueue:completionHandler:﹚` instead.")</span>
<span class="kd">open</span> <span class="kd">func</span> <span class="nf">retrieveImageInDiskCache</span><span class="p">(</span><span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">?</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>key</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Key for the image.</p>
                                </div>
                              </td>
                            </tr>
                            <tr>
                              <td>
                                <code>
                                <em>options</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>Options of retrieving image. If you need to retrieve an image which was
stored with a specified <code><a href="../Protocols/ImageProcessor.html">ImageProcessor</a></code>, pass the processor in the option too.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                      <div>
                        <h4>Return Value</h4>
                        <p>The image object if it is cached, or <code>nil</code> if there is no such key in the cache.</p>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L371-L380">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC08retrieveB06forKey7options17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgySo7UIImageCSg_AA0C4TypeOtcSgtF"></a>
                    <a name="//apple_ref/swift/Method/retrieveImage(forKey:options:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC08retrieveB06forKey7options17completionHandlerySS_SayAA0A15OptionsInfoItemOGSgySo7UIImageCSg_AA0C4TypeOtcSgtF">retrieveImage(forKey:options:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">retrieveImage</span><span class="p">(</span><span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                        <span class="nv">options</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher0A11OptionsInfoa">KingfisherOptionsInfo</a></span><span class="p">?,</span>
                        <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/CacheType.html">CacheType</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?)</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L385-L402">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC03maxC14PeriodInSecondSdvp"></a>
                    <a name="//apple_ref/swift/Property/maxCachePeriodInSecond" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC03maxC14PeriodInSecondSdvp">maxCachePeriodInSecond</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>The longest time duration in second of the cache being stored in disk.
Default is 1 week (60 * 60 * 24 * 7 seconds).
Setting this to a negative value will make the disk cache never expiring.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@available(*, deprecated, message: "Deprecated. Use `diskStorage.config.expiration` instead")</span>
<span class="kd">open</span> <span class="k">var</span> <span class="nv">maxCachePeriodInSecond</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L408-L411">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC5store_8original6forKey19processorIdentifier15cacheSerializer6toDisk17completionHandlerySo7UIImageC_10Foundation4DataVSgS2SAA0cK0_pSbyycSgtF"></a>
                    <a name="//apple_ref/swift/Method/store(_:original:forKey:processorIdentifier:cacheSerializer:toDisk:completionHandler:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC5store_8original6forKey19processorIdentifier15cacheSerializer6toDisk17completionHandlerySo7UIImageC_10Foundation4DataVSgS2SAA0cK0_pSbyycSgtF">store(_:original:forKey:processorIdentifier:cacheSerializer:toDisk:completionHandler:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">store</span><span class="p">(</span><span class="n">_</span> <span class="nv">image</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:10Kingfisher20KFCrossPlatformImagea">KFCrossPlatformImage</a></span><span class="p">,</span>
                <span class="nv">original</span><span class="p">:</span> <span class="kt">Data</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
                <span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
                <span class="n">processorIdentifier</span> <span class="nv">identifier</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">""</span><span class="p">,</span>
                <span class="n">cacheSerializer</span> <span class="nv">serializer</span><span class="p">:</span> <span class="kt"><a href="../Protocols/CacheSerializer.html">CacheSerializer</a></span> <span class="o">=</span> <span class="kt"><a href="../Structs/DefaultCacheSerializer.html">DefaultCacheSerializer</a></span><span class="o">.</span><span class="k">default</span><span class="p">,</span>
                <span class="nv">toDisk</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
                <span class="nv">completionHandler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?)</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L414-L433">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:10Kingfisher10ImageCacheC013calculateDiskC4Size10completionyySuc_tF"></a>
                    <a name="//apple_ref/swift/Method/calculateDiskCacheSize(completion:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:10Kingfisher10ImageCacheC013calculateDiskC4Size10completionyySuc_tF">calculateDiskCacheSize(completion:)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">open</span> <span class="kd">func</span> <span class="nf">calculateDiskCacheSize</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">((</span><span class="n">_</span> <span class="nv">size</span><span class="p">:</span> <span class="kt">UInt</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">))</span></code></pre>

                        </div>
                      </div>
                      <div class="slightly-smaller">
                        <a href="https://github.com/onevcat/Kingfisher/tree/5.12.0/Sources/General/Deprecated.swift#L436-L441">Show on GitHub</a>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
          </div>
        </section>

      </article>
    </div>
    <section class="footer">
      <p>&copy; 2019 <a class="link" href="https://onevcat.com" target="_blank" rel="external">Wei Wang</a>. All rights reserved. (Last updated: 2019-12-13)</p>
      <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
    </section>
  </body>
</div>
</html>
